//------------------------------------------------------------------------------------------------- 
// <copyright file="ProcessStatus.cs" company="Collaboris">
// Copyright (c) .  All rights reserved.
// </copyright>
// <summary>Defines the FeatureEvent type.</summary>
//-------------------------------------------------------------------------------------------------
namespace Collaboris.Saf.Engine
{
    /// <summary>
    /// Defines the various states whilest processing
    /// Actions in a Macro.
    /// </summary>
    public enum ProcessStatus
    {
        /// <summary>
        /// No Action has been determined.
        /// </summary>
        NotSet = 0,

        /// <summary>
        /// The Action Processed Successfully
        /// </summary>
        Success = 1,

        /// <summary>
        /// Some or Part of the Action was Successful, 
        /// but part failed. e.g. if one or more Action failed
        /// in a collection.
        /// </summary>
        Warning = 10,

        /// <summary>
        /// The Action Was Skipped because either
        /// the corresponding property 'DisableDo'
        /// or 'DisableUndo' was true;
        /// </summary>
        Skip = 25,

        /// <summary>
        /// The Action Was not processed as it was 
        /// invalid.
        /// </summary>
        Invalid = 30,   

        /// <summary>
        /// The Action Encounted a problem meaning it failed to process
        /// it's main objective. This may not stop the Macro Processing
        /// if StopOnDoException or StopOnUndoException is False.
        /// </summary>
        Error = 50,

        /// <summary>
        /// Signifies that no further Actions (or Macros)
        /// should be processed.
        /// </summary>
        Stop = 100
    }
}